package com.umeox.watch.moto.dataservice.mqtt.interfaces;


import com.umeox.moto.mqtt.base.PersistentConnectState;
import com.umeox.moto.mqtt.event.IConnectionStateListener;
import com.umeox.watch.moto.dataservice.mqtt.ConnectConfig;

import org.eclipse.paho.client.mqttv3.IMqttActionListener;

public interface IMqttClient {
    void startConnect(ConnectConfig configure, IConnectionStateListener listener);

    PersistentConnectState getConnectState();

    void subscrbie(String topic);

    void unSubscrbie(String topic);

    void ping(IRequestListener listener);


    void asyncSendRequest(String topic, String event, Object params, IRequestListener listener);

    void destroy();

    void disConnectManually(IMqttActionListener callback);
}
